Collaborative application with indicator of concurrent users

ABSTRACT

A system, method, and processor readable medium containing processor readable program code embodied therein are provided that enable network users to view one or more network user&#39;s status and to establish communications with the one or more network users using a user indicator in an electronic document (e.g., electronic mail message, hypertext markup language document). The user indicator may be a network user&#39;s login identification presented as a hypertext link to one or more communication options. The system may include an identification module for identifying the one or more network users. The identification module may identify a network user&#39;s login identification (e.g., the network user&#39;s name, employee number) and provide the network user&#39;s status using the user indicator. A status module, responsive to the identification module, provides the status of the network users. The status module may provide a visual indication of a network user&#39;s status using, for example, color coding, formatting, symbols, etc. A communication module for establishing a communication link with the one or more network users using the user indicator may also be provided. The communication module may be used to establish a variety of communications with one or more of the network users. For example, a user may chat, telephone, transmit an electronic mail message, share one or more application programs, whiteboard presentations, facsimile, or page to one or more of the network users by selecting the user indicator using a conventional computer mouse or keyboard.

This application claims priority based on U.S. Provisional PatentApplication Ser. No. 60/137,513, filed Jun. 2, 1999, entitled “Systemand Method for Enabling a User to Obtain a User Status and Establish aCommunication Link Using the User Status.” This application is alsorelated to co-pending U.S. patent application entitled “Visual Indicatorof Network User Status Based on User Indicator,” Ser. No. 09/580,904,filed May 31, 2000 and U.S. patent application entitled “CommunicationLink System Based on User Indicator,” Ser. No. 09/583,736, filed May 31,2000.

FIELD OF THE INVENTION

The invention relates to a system and method for presenting a userstatus indicator for network users on the system and establishcommunications with network users through the user status indicator.

BACKGROUND OF THE INVENTION

Systems for determining whether a network user is on-line are known.Such systems typically enable users to view criteria relating to one ormore user's on-line status. This criteria may include, for example, thetime and terminal at which a user logged-on to the network. Priorsystems, however, generally require a separate computer applicationprogram to obtain information regarding user status. For example, usersmay need to open a network application program that provides a networkuser's status information.

Network application programs typically require users to know a user'slogin identification to obtain a user's status. A user's loginidentification may be, for example, the user's name, a number associatedwith the user's name, or a variation of one or both. If a user does notknow a user's login identification, the user may not be able to obtainthat user's status.

Additionally, provided a user is able to obtain a user status for one ormore users, existing systems typically do not enable the user to performany other operations based on the user's status. A user again must use aseparate computer program to perform another desired operation. Thistype of configuration increases the time required to obtain a user'sstatus and does not provide a user with additional capabilities relatingto the user's status.

These and other drawbacks exist.

SUMMARY OF THE INVENTION

An object of the present invention is to overcome these and otherdrawbacks in existing systems.

Another object of the present invention is to provide a system andmethod that present a network user's status in an electronic documentusing a user indicator and enable a user to establish a communicationwith that network user using the user indicator.

Another object of the present invention is to provide a system andmethod that present visual coding of a network user's status with thepresentation of a user indicator associated with the network user.

Another object of the present invention is to provide a system andmethod that present a selectable portion in a graphical user interface(GUI) that may be selected by a user to present the status of networkusers, including the status of network users whose user indicator ispresented in a markup language (e.g., hypertext markup language)document, electronic mail message (e-mail) or other electronic documentpresented in the GUI.

Another object of the present invention is to provide a system andmethod that present a network user's user indicator as a link that maybe selected to establish a communication with that user.

Another object of the invention is to provide a system and method thatenable a network user to establish a communication with one or morenetwork users using the link.

Another object of the present invention is to provide a system andmethod that present a network user's user indicator as a link based onthe user's status.

In the present invention, the concept of a user indicator should beunderstood to include the name of a user, the user's loginidentification, a user numeric identifier or other login identification.According to an embodiment of the present invention, the system presentsuser indicators within electronic documents along with a statusindicator. Status indicators may comprise a communications link, color,font, icon, word(s) or other indicator that informs document viewers ofthe status of the user associated with the user indicator. For example,if a user's name is Joe Smith, whenever Joe Smith's name appears in anyelectronic document (e.g., e-mail), that name may be presented as a link(e.g., with underlining and highlighting as in a hypertext markuplanguage (HTML) document link) if Joe is on-line and actively using thesystem. A viewer of the e-mail may then select the link to activatecommunication systems that allow the viewer to communicate with JoeSmith.

User status may comprise two types of status: the on-line status of theuser and the availability status of the user. The on-line status mayindicate whether the user is on-line for a particular communicationmode. For example, in a networked environment for which users log-inbefore gaining access to a server system, the on-line status mayrepresent whether the particular user is logged-in. If the communicationmode is a pager, cellular phone, or some other communications system,the on-line status may indicate whether the user's device is on.

The availability status may represent whether the user is available forcommunication through the communication mode. For the networkedenvironment example, the availability status may indicate whether thelogged-in user is actively using the network, in a do-not-disturb mode,or not actively using the network. Other choices may also be provided.For other communications modes, for example, the availability status mayindicate whether the user is actively using the communications device.

Different visual indicators may be provided for the on-line andavailability status indicators. For example, in one embodiment, thesystem presents the user indicator for a network user as an active linkif the user is on-line and provides a colored “active” icon if the useris also available and active on the system. The link may then beactivated to present one or more communications options for the viewerto communicate with the on-line user. The communications options may bepresented according to user-defined preferences through visuallyindicating the user's preferences.

Also, different visual indicators may be provided with the userindicator, each visual indicator associated with a different usercommunication device. Therefore, a user may view with the user indicatorthe on-line and availability status of communicating with a particularuser over a plurality of different communication mediums, includingchat, e-mail, telephone, audio-visual, pager, application sharing,whiteboard presentations, mobile phone and many others.

To accomplish these and other objects and features, a system, method,and processor readable medium containing processor readable program codeembodied therein are provided according to an embodiment of the presentinvention. This system presents user indicators that may be selected,like a link, to communicate with the user corresponding to the userindicator.

The system provides an identification module for identifying the one ormore network users through the user indicator. The user indicator maycomprise the user's name, employee number, log-in identification orother such indicator. The identification module may also cooperate witha status module to present the status of the user corresponding to theuser indicator. The status module may provide a visual indication of anetwork user's status using, for example, color coding, formatting,symbols, etc. A communication module is provided that, upon activation,establishes one or more communications with the selected network users,such as through selection of the user indicators. Communications mayinclude chat, telephone, e-mail, facsimile, application sharing,whiteboard presentations or paging that may be initiated by the userselecting the user indicator like a link in a HTML document.

These and other objects, features, and advantages of the invention willbe apparent to those having ordinary skill in the pertinent art from thedetailed description of the preferred embodiments with reference to thefigures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of components of a communicationsystem in accordance with one embodiment of the present invention.

FIG. 1A is a schematic block diagram of a networked system according toan embodiment of the present invention.

FIG. 2 is a schematic block diagram of a method of determining a userstatus and establishing a communication using the user status inaccordance with one embodiment of the present invention.

FIG. 3 is a schematic block diagram of a view of an electronic mailmessage in accordance with one embodiment of the present invention.

FIG. 4 is a schematic block diagram of a view of an electronic mailmessage illustrating various user's status in accordance with oneembodiment of the present invention.

FIG. 5 is a schematic block diagram of a view of an electronic mailmessage illustrating network user's status in accordance with oneembodiment of the present invention.

FIG. 6 is a schematic block diagram of a view of an electronic mailmessage illustrating various communications options in accordance withone embodiment of the present invention.

FIG. 7 is a schematic block diagram of a view of an electronic mailmessage illustrating various network user options in accordance with oneembodiment of the present invention.

FIG. 8 is a schematic block diagram of a view of a HTML document havinguser indicators presented as links in accordance with one embodiment ofthe invention.

FIG. 9 is a schematic block diagram of a view of a communicationinitiated using a user indicator in a HTML document in accordance withone embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention enables users to determine, by visual inspection,whether other network users are available for communication using a userindicator. The invention enables users to determine a network user'sstatus wherever a user indicator is presented in the system, whether itis in an e-mail, HTML, document, or any other electronic document. Thesystem presents each user indicator with a status link (e.g., visualindication) for one or more network users identified in an electronicdocument. A network user's status may include the user's on-line statusand availability status for communication with one or morecommunications media, although other status identifiers may also beprovided.

A network user's status may be displayed using a variety of codingtechniques. Each coding technique may signify a different status. Forexample, a user indicator may be displayed in a particular color (e.g.,green) if a network user is logged in to the network and actively usingthe network. Also, a symbol (e.g., a red square) may be displayedadjacent a user indicator to signify that the network user is logged into the network but not actively using the network. Other codingtechniques may also be used.

According to one embodiment of the present invention, the inventionprovides a pervasive system 10 for providing a status link to one ormore communication operations using a user indicator identified in anelectronic document. System 10 is pervasive by enabling user indicatorsappearing in any electronic document to be used as a link to otheroperations.

According to another embodiment of the invention, a network user mayestablish communications with one or more network users using the userindicator. A network user may request that a communication link (e.g.,an audiovisual call, e-mail, chat, application sharing, whiteboardpresentations, etc.) be established with a network user that is loggedin to and available on that type of communication by, for example, usinga conventional computer mouse to “click” on the status link and beprovided with one or more communication options. The network user maythen select, for example, an option entitled, “Audiovisual call,” andestablish an audiovisual communication link with one or more networkusers. Alternatively, the invention may present a network user withvarious icons representing particular communication modes. The networkuser may then select a particular icon and establish a communicationusing the communication mode represented by the icon selected. These andother embodiments of the present invention are described in furtherdetail below.

FIG. 1 illustrates a system 10 for enabling a network user to obtain oneor more network users' status and establish a communication with one ormore network users. System 10 may include one or more modules includingan identification determining module 12, identification presentingmodule 14, status determining module 16, status presenting module 18,status linking module 20, communication options presenting module 22,communication establishing module 24, and communication activationmodule 26. Identification determining module 12 may be used to determinea user indicator that is to be linked. A user indicator may be, forexample, the network user's name, an employee identification number, acombination of the two, or various other forms. Once a user indicator isdetermined, identification presenting module 14 may be used to presentthe user indicator within an electronic document within the system, suchas an electronic mail document, a HTML document, a window box, or someother viewable document presented to a user.

When presenting a user indicator, status determining module 16 may beused to determine a network user's status (e.g., on-line and active,on-line and inactive, etc.) so that status presenting module 18 maypresent a visual indication of a network user's status using the userindicator. For example, status determining module 16 may determine thata network user is logged in to the network (e.g., on-line) and activelyusing the system (e.g., typing, moving a computer mouse, etc.). Based onthis determination, status presenting module 18 may present the userindicator using one or more formatting options. For example, a userindicator of a network user who is on-line and actively using thenetwork may appear as green text. Also, a symbol associated with anon-line/active status may be displayed adjacent a user indicator toindicate the network user's status. For example, a green square with theword “active” may be placed adjacent a user indicator of a network userthat is on-line and actively using the network.

Status linking module 20 may cooperate with status presenting module 18to provide a communication link using a user indicator. For example, anetwork user may select a user indicator listed in an electronicdocument (e.g., using a conventional computer mouse or keyboard). Statuslinking module 20 may allow two modes of selecting communicationoptions. One mode may automatically select a default or most preferredoption and another mode may be used to present a user with availablecommunications options. For example, if a user “clicks” a left button ona conventional computer mouse, status linking module may initiate, forexample, a text chat if text chat is the default or first available userpreferred communication. After a user indicator is selected,communication options presenting module 22 may be used to present one ormore communication options to the network user. Communication optionsmay include, but are not limited to, audiovisual call, telephonecalling, application sharing, whiteboard presentations, electronicmailing, faxing, paging, and chatting.

A network user may prioritize one or more communication options and thesystem may present the communication options to show the user'scommunications preferences. For example, the system may presentcommunications options in an order reflecting a network user'scommunication preference. For example, a network user may prefer toreceive communications via electronic mail. The network user may set acommunication options preference so that communication options arepresented to a network user in the following order: 1) electronic mail;2) chat; 3) audiovisual call; 4) page; 5) facsimile. Thus, a networkuser attempting to contact this network user may realize that thenetwork user prefers to receive communications via electronic mail.

Also, certain communications options may be presented in differentcolors, fonts, sizes, with visual numeric indicators, graying out, bold,or any other method of visually indicating different preferences from agroup of options. It may also be desired that only available options arepresented or that the first preferred method is shown if available, thesecond preferred method is shown if the first is not available, etc.

After a communication option is selected, communication establishingmodule 24 may be used to establish the communication selected using theuser indicator. If a network user selects, for example, an audiovisualcall, communication activation module 26 may be used to activate anaudiovisual call with the selected user. Communication activation module26 enables one or more network users to communicate using the selectedcommunication option (e.g., audio, video, application sharing, chat).For example, network users that have established an audiovisual call maydesire to view and modify an image and have the other network users,with whom the network user is communicating, view the changes as theyare being made. The software package known as Sametime™ may be used forapplication sharing or whiteboard presentations. Communicationactivation module 26 also enables network users to share one or moreapplications without having a communication link established. Variousother methods of application sharing may be performed using knownapplication sharing programs.

FIG. 1A depicts an embodiment of a networked system according to anembodiment of the present invention. System 10 comprises a serversystems 28 connected over a network 32 to one or more user systems 30.Network 32 may comprise any network including local area networks, widearea networks, intranets, the Internet or other network. User systems 30may each comprise a user status/communications module 31 and serversystem 28 may comprise a server status/communications (SC) module 29.These modules may each comprise the modules of FIG. 1. Also, it ispossible that server and user modules 29 and 31, respectively, comprisea subset of the modules of FIG. 1.

For example, server SC module 29 may comprise identification determiningmodule 12, status determining module 16, status linking module 20,communication establishing module 24, and communication activationmodule 26. As such, server system 28 may receive updates from each ofall user systems 30 of all users on the system (e.g., when a user statuschanges) which may therefore be reported out to each of the user systems30. Accordingly, the status of all user systems may be known to allother user systems to enable the user SC module 31 to be able to presentstatus information with the user indicators. User SC modules 31 may, forexample, send status information (preferably in real time) for that usersystem whenever the status information for that user system changes. Theinformation may be compiled by server SC module 29 and sent to user SCmodules 31 (e.g., at login, when a user status changes). Othermechanisms for status updates of all users may also be used. Forexample, a system administrator or user may set a desired interval forperforming status updates. Further, the status of users may beperiodically checked by user SC modules 31 only when that information isdesired for presenting with a user indicator.

As shown in FIG. 1A, server system 28 may be distributed. That is,server systems A–N may be in communication with each other. Thisenables-server systems 28 to communicate status notifications betweentwo or more server systems 28. For example, user system A may be incommunication with server system A and user system B may be incommunication with server system B. Because server systems A and B arein communication with each other, this enables server systems A and B tosend and receive status updates to each other regarding user systems Aand B.

Server system 28 may also be a multi-server connection. In thisembodiment, user system 30 may be in communication with more than oneserver system 28. Each server system 28 may provide informationregarding different types of status information and communicationmethods. For example, user system A may be in communication with serversystem A that provides a user's status for particular modes ofcommunication (e.g., chat, application sharing, whiteboardpresentations) and server system B that provides a user's status for adifferent communication mode (e.g., telephone).

FIG. 2 illustrates a method 50 for obtaining a network user's status andestablishing a communication with one or more network users according toone embodiment of the invention. According to method 50, a userindicator is determined using step 52. A user indicator may bedetermined by examining a users directory that may be used to recordlogin information regarding one or more network users. A server systemmay use a users directory to maintain records of all network users usingthe system. A users directory may be used to associate a network userwith a user indicator. Therefore, system 10 may use a users directory todetermine a user indicator. Other methods for determining userindicators may also be used.

After determining a user indicator, step 54 presents the user indicatoras a user indicator in one or more electronic documents to one or morenetwork users. Step 56 determines a network user's status (e.g., on-lineand active) and presents the status using the user indicator in step 58.Step 56 may be performed through a common server system 28 as describedabove, for example. Step 60 may be used to provide a status link fromthe user indicator to one or more communication options. If a userselects a status link, the selection may be received using step 62. Thecommunication options may then be presented to one or more network usersin step 64. A user may select one or more communication options that arereceived by the system in step 66. Step 68 may then establish thecommunication(s) selected by the network user.

Various graphical user interface mechanisms and techniques may be usedto present status information that may then be linked to communicationswith the user. In an embodiment, the presentation of a user name withinan electronic mail may also include an indication of status and uponselection of the name, the ability to communicate with an on-line userthrough the communication device. An example is depicted below.

FIG. 3 illustrates a view 100 of an electronic mail message inaccordance with an embodiment of the present invention. View 100 maycomprise an action bar 102 (including action buttons 102 a–102 n),“From” field 104, “To” field 106, “cc:” field 108, “bcc:” field 110,“Subject” field 112, and message body 114. In any field in the message,names of recipients and originators are depicted. For any such user onthe system, the system may present status information associatedtherewith. For example, in from field 104, John Smith is shown in boldgreen to indicate that he is on-line and also, the “active” word andicon is depicted next to his name to indicate that he is “active.”

The other users in the electronic mail are not bolded, thus indicatingthat they are not presently on line. Also, it may be desirable to onlyrepresent the status of the “from” originator. In any event, byselecting the name, the communications module may activate acommunication interface to enable the view of this message tocommunicate with John Smith over one or more communications media.

In another embodiment, it may be desirable to provide a selectablebutton to present the status information for users in an electronicdocument, such as an electronic mail message. Accordingly, the graphicaluser interface may present a plurality of action buttons 102 a–102 n (nrepresenting any number of action buttons being available). Thesebuttons may comprise selectable initiators to activate an executableaction in the system and may include visual and/or textualrepresentations of the actions associated therewith. For example, actionbuttons 102 a–102 f represent actions that may be performed regarding amessage (i.e., create a new memo, reply, forward, delete, move, copy).Action button 102 g may be a “Tools” icon that enables users to performother types of actions regarding a message (e.g., scan a message forviruses). Action button 102 h may be a “Who Is Online” button thatenables users to be presented with, for example, an additional windowlisting the status and availability of all network users identified inthe message. The network users may be identified, for example, in the“From,” “To,” “cc:,” “bcc:,” and “Subject” fields 104–112, respectively,or in message body 114.

“Who Is Online” button 102 h provides a network user with a visualindication of which network users identified in view 100 are on-line andwhether the network user is actively using the network. For example,after a network user selects “Who Is Online” button 102 h, the networkuser may be presented with a separate “window” (shown in FIG. 4) listingthe user indicators of the network users identified in the electronicdocument that are on-line and indicating whether the on-line networkusers are actively using the network. Identifying whether network usersare on-line and actively using the network may be performed in a varietyof ways. For example, the listing may include only those network usersthat are on-line. If one or more network users are on-line, their statusmay be indicated using a variety of techniques. For example, userindicators may appear in green text to indicate that the network user isactively using the network, red text to indicate that the network useris not actively using the network or other formatting manners (e.g.,bold, underline, italics, highlighting).

According to another embodiment of the present invention, after anetwork user selects “Who Is Online” button 102 h, the user indicatorsappearing in view 100 may be coded according to a particular criteriathat signifies a user's status. For example, a user indicator of anetwork user that is actively using the network may be presented asgreen text directly in the field where the user indicator is presented(e.g., fields 104–112, message body 114). If a network user is noton-line, that user indicator may remain unchanged or be “grayed out,”indicating that the network user is not on-line.

Upon activation of “Who Is On-Line” button 102 h, a status window may bedisplayed. FIG. 4 illustrates a status window 120 according to anembodiment of the present invention. Status window 120 may comprise atitle field 122, pull-down menus 124 (including pull-down menu options124 a and 124 b), and identification field 126. Title field 122 may beused to identify the electronic document from which the userindicator(s) are based. Pull-down menus 124 may be used to enable anetwork user to perform various other operations regarding one or morenetwork users (described in greater detail below). Identification field126 may be used to list the user indicator(s) of the network user(s)that are on-line (and possibly not on-line) and indicate whether theon-line network users are actively using the network. Identifyingwhether one or more network users are actively using the network mayperformed in a manner similar to the coding used for user indicators infields 104–112 and message body 114 of view 100 shown in FIG. 3.

FIG. 5 illustrates an “Online Meeting” pull-down menu option 124 a inaccordance with one embodiment of the invention. “On-line Meeting”option 124 a may include various options including “Message” option 128a, “Show All People” option 128 b, and “Close” option 128 c. “Message”option 128 a may enable a network user to compose a message (e.g., a“chat” message) to one or more network users listed in status window120. “Show All People” option 128 b may enable a network user to requestthat a listing of all network users that are logged-in to the network belisted in status window 120. “Show All People” option 128 b may alsoprovide a network user with the status of each person that is logged-into the network (e.g., active, inactive). “Close” option 128 c may beprovided as a standard Windows™ option.

If a network user selects “Message” option 128 a, system 10 may providea separate message window 150 for communicating with one or more usersvia a text chat. Message window 150 may include a header 152, pull-downmenus 154 (including “Message” option 154 a and “Edit” option 154 b,text body 156 a, text body 156 b, and various other known Windows™options. Header 152 may be used to identify the network user(s) withwhom a network user has established a text chat. Pull-down menu options154 a, 154 b, may be used to perform various operations relating to thetext chat. For example, “Message” option 154 a may be used to establisha text chat communication with one or more network users and “Edit”option 154 b may be used to, for example, “cut and paste” or deletetext. Text body 156 a enables network users to view text that is beingreceived from the network users with whom that network user hasestablished a text chat and text body 156 b enables the network user toview the text that that network user has input.

According to another embodiment, a network user may establish anaudiovisual call, conference or other communication with one or morenetwork users. A communication options window 200 in accordance with apreferred embodiment of the invention is shown in FIG. 6. Communicationsoptions window 200 comprises a text chat, audiovisual call, conferencematerials, and conference preferences options 202–208, respectively. Asdescribed above, text chat option 202 enables network users to establisha text chat communication with one or more network users. Audiovisualcall option 204 enables network users to establish an audiovisual callwith one or more network users. For example, a network user that selectsaudiovisual call option 204 may be presented with a window that displaysa view of the network user(s) with whom that network user hasestablished an audiovisual call. The view may be provided with variousoptions relating to the communication. For example, the view may enablea network user to alter the volume, vary the characteristics of thedisplay (e.g., brightness), etc.

Conference materials option 206 enables network users to conferencemultiple network users in one communication and perform various otheroperations (e.g., share one or more computer applications). For example,a network user may initiate a text chat with several network users todiscuss changes to a document. It may benefit the network users to eachbe able to view the changes that are being suggested for the document.Therefore, system 10 enables users to share a word processing (or other)application so that each user may view the document using the sameapplication and make changes that are reflected in each view of thedocument that is presented to the network users.

Conference preferences option 208 enables network users to set one ormore preferences related to conferencing. For example, a network usermay prefer not to be notified of incoming communications whileparticipating in a conference communication. Therefore, system 10enables network users to select a preference that suspends notificationof incoming communications (e.g., electronic mail messages, text chats).Additionally, system 10 may enable a network user to set an“unavailable” option that notifies network users attempting to establisha communication with that network user that the network user isunavailable. For example, if a network user attempts to establish acommunication with a network user who has set an “unavailable” option,that network user may receive a message stating “Do not disturb.”Alternatively, if a user is unavailable, a code may be assigned thatprovides a visual indication that the network user is unavailable. Forexample, the user indicator of a network user that is unavailable mayappear as gray text. These and other preferences may also be presentedand used in conjunction with other aspects of the invention. Variousother conferencing options may be provided using known conferencingapplications.

According to another embodiment of the invention, one or morecommunication option icons 116 a–116 n may be provided adjacent a userindicator as shown in FIG. 7. Communication option icons 116 a–116 n maybe used to establish a communication with one or more network users. Forexample, communication option icons may comprise audiovisual call icon116 a, chat icon 116 b, electronic mail message icon 116 c, facsimileicon 116 d, pager icon 116 e, mobile phone icon 116 f, and telephoneicon 116 g. A network user that desires to establish a communicationwith one or more network users may select a communication option icon116 a–116 n and initiate a communication with that network user(s). Forexample, a network user may select communication option icon 116 aadjacent a user indicator in “From” field 104. Selection ofcommunication icon 116 a establishes an audiovisual call with thenetwork user associated with the communication option icon selected.Communication option icons may also be presented in a communicationorder preferred by the network user as described above.

It is to be understood that communication option icons 116 a–116 n maybe provided for any user indicator provided in the electronic documentand need not be provided adjacent a user indicator. For example, asingle set of communication option icons may be provided in anelectronic document and a user may select one or more network users andthe communication option icon representing the communication desired tobe established.

Further, the user's status associated with each of the communicationsmay be reflected in the graphical user interface. For example, the iconmay have a different color, highlighting, graying or other visualindicator to indicate whether the user is available for communicationvia that communication option presented. For example, if the user is ona mobile phone, away from his computer (and thus not active), but withhis pager activated, the icon for the phone may be grayed out, the iconfor electronic mail via the network may be green (to indicate on-linebut not available), whereas the pager may be bold to indicate that theuser's pager is on.

According to a specific embodiment of the present invention, hypertextmark-up language (HTML) documents are enabled to provide communicationlinks to on-line users using user indicators as shown in FIG. 8. FIG. 8is an illustration of a HTML document 210 provided with user indicatorsfor network users listed in the message board. HTML document 210 may beprovided in a browser interface along with standard browser featuressuch as one or more pull-down menus 212 and toolbar 214. HTML document210 may comprise body 216, user indicators 218 a–218 g, and linkidentifiers 220. In this embodiment, user indicators 218 a–218 gappearing in HTML document 210 are coded to provide a visual indicationof a network user's status and to provide a link to one or morecommunication options. For example, body 216 may be provided with one ormore user indicators 218 a–218 g. User indicators 218 a–218 g may becoded according to various criteria and be used as a communications linkas described above. As shown in FIG. 8, user indicators 218 a–218 d arebold and underlined indicating that Robert Carter, Eric Cabot, JenniferLamb, and Ann Hudson, respectively, are all on-line. User indicators 218e–218 g, however, are not bold and underlined, thus indicating thatLaurie Gibson, Kevin Harris, and Julie Patrick, respectively, are noton-line. Other forms of indicating whether one or more users are on-linemay also be used.

In order to provide user indicators 218 a–218 d as links in HTMLdocument 210, the following code, for example, may be inserted into HTMLdocument 210:

<LINK REL=STYLESHEET HREF=“livelinks.css” TYPE=“text/css>

<SCRIPT SRC=″livelinksjs″></SCRIPT>

To represent a live link anywhere in the text of HTML document 210, thefollowing code may be inserted:

<SCRIPT>writeLiveLink([User's login identification])</SCRIPT>

For example, to insert the name Jennifer Lamb at a certain positioninside the document text, the following code may be inserted:

<SCRIPT>writeLiveLink(“Jenifer Lamb”)</SCRIPT>

In addition, a Java applet may be inserted on HTML document 210 thatprovides the status notifications and the communication establishing.The following code may be added to insert the applet:

<SCRIPT>

writeLiveLinksApplet([Applet URL], [Login Name], [Password])

<SCRIPT/>

User indicators 218 a–218 d may be used to establish one or morecommunications with one or more network users. For example, FIG. 9illustrates a text chat initiated using user indicator 218 a. In thisexample, Ann Hudson has established a text chat with Robert Carter. Atext chat (or other communication) may be initiated using any of themethods for establishing one or more communications as described above.After initiating a text chat, a text chat window 222 may be presented tothe user.

Text chat window 222 may comprise a header 224, pull-down menus 226,text body 228 a, text body 228 b, and options 230 a–230 c. Header 224may be used to identify the network user who initiated the text chat.Pull-down menus 226 may be used to present various operations relatingto a text chat (as described above) or standard Windows™ operations.Text body 228 a may be used to display the text input by each networkuser and text body 228 b may be used to display text that is being inputby that particular user prior to submitting the text to the text chat.Options 230 a–230 c may be used to perform various other operations. Forexample, option 230 a may be used to send text input into text body 228b into the text chat. Option 230 b may be used to establish text chatcommunications with other network users and option 230 c may be used toclose text chat window 222.

System 10 may be provided on a processor readable storage mediumcomprising processor readable code embodied therein and loaded onto aclient. Various objects of the client may also be provided on aprocessor readable storage medium.

Other embodiments and uses of the invention will be apparent to thoseskilled in the art from consideration of the specification and practiceof the invention disclosed herein. The specification and examples shouldbe considered exemplary only. The scope of the invention is intended tobe limited only by the following claims.

1. A system for enabling network users to determine a real-time statusof one or more target network users and to establish communications withthe one or more target network users using a user indicator that ispresented using two or more types of applications, the systemcomprising: user indicator presentation means for enabling presentationof at least one user indicator within two or more types of electronicdocuments, wherein the electronic document types are capable of beinggenerated using the two or more types of applications and wherein eachuser indicator is associated with the one or more target network users;status presenting means for presenting status indicators associated withcorresponding user indicators to provide the real-time status of the oneor more target network users; and communication means for enabling thenetwork users to initiate communications with the one or more targetnetwork users upon selection of the desired user indicator.
 2. Thesystem of claim 1, further comprising preference presentation means forpresenting the network users preference for receiving communications. 3.The system of claim 1, further comprising updating means for updatingthe real-time status of the one or more target network users.
 4. Thesystem of claim 1, further comprising conference communication means forenabling the network users to establish conference communications withthe one or more target network users.
 5. The system of claim 4, whereinthe conference communication means enable the network users to share atleast one application.
 6. A method for enabling network users todetermine a real-time status of one or more target network users and toestablish communications with the one or more target network users usinga user indicator, the system comprising the steps of: generating two ormore types of electronic documents using two or more types ofapplications; presenting one or more user indicators within the two ormore types of electronic documents, each user indicator being associatedwith at least one network user; presenting the real-time status of theone or more target network users associated with the one or more userindicators via the two or more types of applications, the real-timestatus including an availability of the one or more target network usersto engage in a communication; and establishing a communication link withthe one or more target network users based on the indicated availabilityof the one or more target network users.
 7. The method of claim 6,further comprising the step of enabling the one or more target networkusers to establish one or more communication preferences.
 8. The methodof claim 6, further comprising the step of updating the real-time statusof the one or more target network users.
 9. The method of claim 6,further comprising the step of enabling the network users to share atleast one application.
 10. A system for enabling network users todetermine a real-time status of one or more target network users and toestablish communications with the one or more target network users usinga user indicator, the system comprising: a user indicator presentationmodule for presenting at least one user indicator within two or moretypes of electronic documents, wherein the electronic document types arecapable of being generated using two or more types of applications andwherein each user indicator is associated with at least one targetnetwork user; a status determining module that determines the real-timestatus of the one or more target network users including an availabilityof the one or more target network users to engage in a communication;and a communication module that establishes a communication link withthe one or more target network users based on the determinedavailability of the one or more target network users presented by thetwo or more types of applications.
 11. The system of claim 10, furthercomprising a communication options preference presentation module thatpresents the network users preference for receiving communications. 12.The system of claim 10, further comprising a status updating module thatupdates the real-time status of the one or more target network users.13. The system of claim 10, further comprising a conferencecommunication module that enables the network users to establishconference communications with the one or more target network users. 14.The system of claim 13, wherein the conference communication moduleenables the network users to share at least one application.
 15. Aprocessor readable medium having processor readable code embodiedtherein for enabling at least one network user to obtain a real-timestatus of one or more target network users and establish a communicationlink using the real-time status of one or more target network userscomprising: processor readable code that causes a processor to enablethe at least one network user to generate two or more types ofelectronic documents using two or more types of applications; processorreadable code that causes the processor to present at least one userindicator within the two or more types of electronic documents, eachuser indicator being associated with the one or more target networkusers; processor readable code that causes the processor to provide thereal-time status of the one or more target network users including anavailability of the one or more target network users to engage in acommunication; and processor readable code that causes the processor toestablish a communication link with the one or more target networkusers, based on the indicated availability of the one or more targetnetwork users presented by the two or more types of applications. 16.The medium of claim 15, further comprising processor readable code thatcauses the processor to present a preference of the at least one networkuser to receive communications.
 17. The medium of claim 16, furthercomprising processor readable code that causes the processor to enablethe one or more target network users to prioritize the preferences. 18.The medium of claim 15, further comprising processor readable programcode that causes the processor to update the real-time status of the oneor more target network users.
 19. The medium of claim 15, furthercomprising processor readable code that causes the processor to enablethe at least one network user to establish conference communicationswith the one or more target network users.
 20. The medium of claim 15,wherein the processor readable code enables the at least one networkuser to share at least one application upon establishing conferencecommunications.
 21. A system for enabling network users to determine areal-time status of one or more target network users and to establishcommunications with the one or more target network users using a userindicator, the system comprising: a user indicator presentation moduleassociated with a first type of application for presenting at least oneuser indicator within two or more types of electronic documents, whereinthe electronic document types are capable of being generated using twoor more types of applications and wherein each user indicator isassociated with at least one target network user; a status determiningmodule associated with a second type of application that determines thereal-time status of the one or more target network users including anavailability of the one or more target network users to engage in acommunication, wherein the first application type and the secondapplication type are different application types; and a communicationmodule that establishes a communication link with the one or more targetnetwork users based on the determined availability of the one or moretarget network users presented by the two or more types of applications.22. A system for enabling network users to determine a real-time statusof one or more target network users and to establish communications withthe one or more target network users using a user indicator, the systemcomprising: a user indicator presentation module for presenting at leastone user indicator within two or more types of electronic documents,wherein electronic document types are capable of being generated usingtwo or more types of non-HTML applications, each user indicator beingassociated with at least one target network user; a status determiningmodule that determines the real-time status of the one or more targetnetwork users including an availability of the one or more targetnetwork users to engage in a communication; and a communication modulethat establishes a communication link with the one or more targetnetwork users based on the determined availability of the one or moretarget network users presented by the two or more types of non-HTMLapplications.
 23. A system for enabling network users to determine areal-time status of a plurality of target network users and to establishcommunications with one or more of the plurality of target network usersusing two or more user indicators presented in two or more types ofdocuments generated by two or more types of applications, the systemcomprising: a user directory that includes user information thatcorresponds to the plurality of target network users, wherein the userinformation includes user indicators; documents generated by the two ormore types of applications, wherein each document includes at least twouser depictions associated with at least two target network users; anidentification determining module that references the user directory toaccess at least two user indicators that correspond to the at least twotarget network users associated with the at least two user depictionsincluded in the documents; a user indicator presentation module thatpresents the at least two user indicators within the documents, whereinthe user indicator presentation module is capable of presenting the atleast two user indicators within the two or more types of electronicdocuments that are capable of being generated using the two or moretypes of applications; a status determining module that determinesreal-time statuses of the at least two target network users including anavailability of the at least two target network users to engage in acommunication; and a communication module that establishes acommunication link with one or more of the at least two target networkusers based on the determined availability of the at least two targetnetwork users presented by the two or more types of applications.